package com.dongdong.zhuangji.entity.dto;

import lombok.Data;
import lombok.Getter;

import java.util.Arrays;
import java.util.List;

/**
 * @author dongdong 抖音号：W13883155245
 * @version 1.0
 * &#064;date  2025/5/2
 * &#064;description  桩基混凝土浇筑记录表
 */
 @Data
 public class PilePouringRecord {
    // Getters 和 Setters
    // 项目名称
        private String projectName;
        // 桩位信息
        private String pilePosition;
        // 施工单位信息
        private String constructionUnit;
        // 设计桩直径
        private String designPileDiameter;
        // 设计桩顶高程
        private String designPileTopElevation;
        // 设计桩底高程
        private String designPileBottomElevation;
        // 预浇筑孔底高程
        private String prePouringHoleBottomElevation;
        // 护筒顶高程
        private String casingTopElevation;
        // 计算的混凝土体积
        private String calculatedConcreteVolume;
        // 设计强度等级
        private String designStrengthGrade;
        // 混凝土配合比编号
        private String concreteMixRatioNumber;
        // 试块编号
        private String testBlockNumber;
        // 导管直径
        private String conduitDiameter;
        // 导管长度
        private String conduitLength;
        // 止水塞形式
        private String waterStopPlugForm;
        // 浇筑日期
        private String pouringDate;
        // 气候情况
        private String climate;
        // 记录列表
        private List<PileRecord> recordList;

        // 无参构造函数
        public PilePouringRecord() {
        }

        // 有参构造函数
        public PilePouringRecord(String projectName, String pilePosition, String constructionUnit, String designPileDiameter,
                           String designPileTopElevation, String designPileBottomElevation, String prePouringHoleBottomElevation,
                           String casingTopElevation, String calculatedConcreteVolume, String designStrengthGrade,
                           String concreteMixRatioNumber, String testBlockNumber, String conduitDiameter,
                           String conduitLength, String waterStopPlugForm, String pouringDate, String climate,
                           List<PileRecord> recordList) {
            this.projectName = projectName;
            this.pilePosition = pilePosition;
            this.constructionUnit = constructionUnit;
            this.designPileDiameter = designPileDiameter;
            this.designPileTopElevation = designPileTopElevation;
            this.designPileBottomElevation = designPileBottomElevation;
            this.prePouringHoleBottomElevation = prePouringHoleBottomElevation;
            this.casingTopElevation = casingTopElevation;
            this.calculatedConcreteVolume = calculatedConcreteVolume;
            this.designStrengthGrade = designStrengthGrade;
            this.concreteMixRatioNumber = concreteMixRatioNumber;
            this.testBlockNumber = testBlockNumber;
            this.conduitDiameter = conduitDiameter;
            this.conduitLength = conduitLength;
            this.waterStopPlugForm = waterStopPlugForm;
            this.pouringDate = pouringDate;
            this.climate = climate;
            this.recordList = recordList;
        }

    public static void main(String[] args) {
        // 创建记录列表
        List<PileRecord> recordList = Arrays.asList(
                new PileRecord("15:10", "0", "0", "0", "0", "0", "0", "0", "0", ""),
                new PileRecord("17:40", "8.5", "9.5", "1", "4", "6", "1", "15", "15", "")
        );

        // 创建 ProjectData 对象
        PilePouringRecord projectData = new PilePouringRecord(
                "渠江风洞子航运工程",
                "示例桩位",
                "中交第四航务工程局有限公司&山东省路桥集团有限公司联合体渠江风洞子航运工程项目项目经理部",
                "1.5",
                "235.8",
                "214.3",
                "214.125",
                "238",
                "38.28",
                "C30(水下)",
                "示例配合比编号",
                "示例试块编号",
                "300",
                "22.80",
                "活塞式",
                "2025年4月20日",
                "晴32°",
                recordList
        );

        // 打印 ProjectData 对象的信息
        System.out.println(projectData);
    }
    }